<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.语法 () => {}      // =>一体的
        let fn = (x) => {
            return x
        }
        // 2.一个参数的时候  可以省略括号 x => {}
        let foo = val => {
            return val
        }
        console.log(foo("孙悟空"));

        // 3.如果你的执行程序只有一行代码  {} 和 return可以省略
        let sum = x => x + 1
        console.log(sum(10))//11

        // filter
        let list = [{
            name: "孙悟空",
            age: 500,
            like: "桃子"
        },{
            name: "猪八戒",
            age: 100,
            like: "翠花"
        },{
            name: "唐僧",
            age: 18,
            like: "桃子"
        }]

        let data = list.filter(item => item.age > 18)
        console.log(data);
        // 剪头函数一般用在 匿名函数作为回调函数去使用  不能构造函数  因为箭头函数没有this ，所以在剪头函数里使用this，用的是上级的this（一级一级往上找，直到window）

        let obj = {
            name: "孙悟空",
            desc: () => {
                console.log(this, "=====================desc")////window
            },
            like: function() {
                console.log(this, "like================")//obj
                let fn = () => {
                    console.log(this, "fn===================")//obj
                }
                fn()
            }
        }

        obj.desc()//window
        obj.like()
    </script>
</body>
</html>